/*
 * Copyright (c) 2014 Strong Group - 版权所有
 * 
 * This software is the confidential and proprietary information of
 * Strong Group. You shall not disclose such confidential information 
 * and shall use it only in accordance with the terms of the license 
 * agreement you entered into with www.cnstrong.cn.
 */
package com.zuorenke.serialize;

import java.io.IOException;
import java.lang.reflect.Type;

import com.fasterxml.jackson.core.type.TypeReference;


/**
 *
 * 描述:对象输入接口
 *
 * @author  WQB
 * @created 2014-4-7 上午10:03:03
 * @since   v1.0.0
 */
public interface ObjectInput extends DataInput {

	Object readObject() throws IOException, ClassNotFoundException;

	<T> T readObject(Class<T> cls) throws IOException, ClassNotFoundException;

	<T> T readObject(Class<T> cls, Type type) throws IOException, ClassNotFoundException;

	<T> T readObject(TypeReference<?> valueTypeRef) throws IOException, ClassNotFoundException;

}